﻿using System.Collections.Generic;

namespace Genesis.Infrastructure.Domain.Persistence
{

    public interface IRepository<T, I> where T : Entity<I>
    {

        IEnumerable<T> Select();

        T SelectById(I id);

        void Insert(T entity);

        void Update(T entity);

        void Delete(T entity);

    }

}